/*
 * Created on Fri Jun 15 2018 by Ronnie Ren (zhaosong.ren) from Accenture
 *
 * Copyright (c) 2018 DingXin information & technology limited company.
 */

import { JSONMapping } from "../json-mapping";
import {SyncStatus} from "../sync-status";
import {ObjectDtoInterface} from "../../services/sqliteDB/object.dto";


export class ElectricityMeter extends JSONMapping implements ObjectDtoInterface {

    static PropertyKeyToJSONKeyMap() {
      return {
        lastTableNum: "lastRecord|lastTableNum",
        theTableNum: "currentRecord|theTableNum",
        tableNumDifference: "recordDifference|tableNumDifference",
      };
    }
    public billId: string = null;
    public userId: string = null;
    public billDate: number = null;
    public actualElectricity: number = null; //  实收电量
    public actualMoney: number = null; //  实收金额
    public arrearsTotal: number = null; //  欠费总额
    public arrearsFee: number = null; //  欠电费
    public arrearsAdditionalFee: number = null; //  欠附加费
    public lastTableNum: number = null; //  上次表数
    public theTableNum: number = null; //  本次表示数
    public tableNumDifference: number = null; //  表示数差额
    public comprehensiveRate: string = null;  // 综合倍率
    public createdBy: string = null;   // 创建人Id
    public createdTime: number = null;   // 创建时间
    public updatedBy: string = null;   // 更新人Id
    public updatedTime: number = null;   // 更新时间
    public meterId: string = null;   // 电表Id
    public mixRatio: string = null;
    public meterNo: string = null;
    public syncStatus: SyncStatus = SyncStatus.None;

    constructor(json: { [key: string]: any }) {
        super(json);
        ElectricityMeter.mapFromJSON(json, this);
    }


}
